/**
 * 分享工具函数
 */

// 默认分享配置
const defaultShareConfig = {
	title: '枣庄市红十字会',
	path: '/pages/index/index',
}

/**
 * 分享到微信好友
 * @param {Object} options 分享配置
 */
export function shareToFriend(options = {}) {
	const shareConfig = {
		...defaultShareConfig,
		...options
	}
	
	// 调用微信分享API
	uni.share({
		provider: 'weixin',
		scene: 'WXSceneSession', // 分享到聊天界面
		type: 0, // 图文类型
		title: shareConfig.title,
		summary: shareConfig.desc,
		imageUrl: shareConfig.imageUrl,
		href: shareConfig.path,
		success: function(res) {
			console.log('分享成功:', res)
			uni.showToast({
				title: '分享成功',
				icon: 'success'
			})
		},
		fail: function(err) {
			console.log('分享失败:', err)
			uni.showToast({
				title: '分享失败',
				icon: 'none'
			})
		}
	})
}

/**
 * 分享到朋友圈
 * @param {Object} options 分享配置
 */
export function shareToTimeline(options = {}) {
	const shareConfig = {
		...defaultShareConfig,
		...options
	}
	
	// 调用微信分享API
	uni.share({
		provider: 'weixin',
		scene: 'WXSceneTimeline', // 分享到朋友圈
		type: 0, // 图文类型
		title: shareConfig.title,
		summary: shareConfig.desc,
		imageUrl: shareConfig.imageUrl,
		href: shareConfig.path,
		success: function(res) {
			console.log('分享成功:', res)
			uni.showToast({
				title: '分享成功',
				icon: 'success'
			})
		},
		fail: function(err) {
			console.log('分享失败:', err)
			uni.showToast({
				title: '分享失败',
				icon: 'none'
			})
		}
	})
}

/**
 * 显示分享菜单
 * @param {Object} options 分享配置
 */
export function showShareMenu(options = {}) {
	uni.showActionSheet({
		itemList: ['分享给好友', '分享到朋友圈'],
		success: function(res) {
			switch(res.tapIndex) {
				case 0:
					shareToFriend(options)
					break
				case 1:
					shareToTimeline(options)
					break
			}
		}
	})
}

/**
 * 页面分享配置（用于页面的onShareAppMessage）
 * @param {Object} options 自定义配置
 */
export function getPageShareConfig(options = {}) {
	return {
		...defaultShareConfig,
		...options
	}
}

/**
 * 朋友圈分享配置（用于页面的onShareTimeline）
 * @param {Object} options 自定义配置
 */
export function getTimelineShareConfig(options = {}) {
	return {
		title: options.title || defaultShareConfig.title,
		query: options.query || '',
		imageUrl: options.imageUrl || defaultShareConfig.imageUrl
	}
} 